package cn.tedu.charging.user.controller;

import cn.tedu.charging.common.pojo.JsonResult;
import cn.tedu.charging.user.service.WXLoginService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@Slf4j
@RestController
public class WeixinLoginController {

    @Autowired
    private WXLoginService wxLoginService;

    @GetMapping("/wx/login")
    public JsonResult<Integer> wxLogin(@RequestParam("code") String code,String nickName) {
        //前端传参code，具体见笔记，或uniapp官网--API--第三方服务--登录--微信登录里的解释
        //客户端调用api向微信请求授权，获取临时票据（code），向开发者业务服务器发起网络请求
        //业务服务器通过code + 仅保存在服务器的appsecret参数，向：微信开放平台接口发起网络请求详情。
        //业务服务器成功获取用户信息后，再依据unionid或openid查数据库的用户表并生成新token，并返回token给客户端
        //客户端得到token后，保存到storage完成登录。
        log.debug("code:{}",code);
        Integer userId = wxLoginService.login(code,nickName);
        return JsonResult.ok(userId);
    }
}
